#ifndef MUSIC_H
#define MUSIC_H

#include<QUrl>


class Music
{
public:
    Music();
    Music(const QUrl& url);


    void setMusicName(const QString& musicName);
    void setSingerName(const QString& singerName);
    void setAlbumName(const QString& albumName);
    void setDuration(qint64 duration);
    void setIsLike(bool isLike);
    void setIsHistory(bool isHistory);
    void setMuicUrl(const QUrl& url);
    void setMusicId(const QString& musicId);


    QString getMusicName()const;
    QString getSingerName()const;
    QString getAlbumName()const;
    qint64 getDuration()const;
    bool getIsLike()const;
    bool getIsHistory()const;
    QUrl getMuicUrl()const;
    QString getMusicId()const;


    //获取lrc文件路径，提供给lrcPage类
    QString getLrcFilePath() const;

    //music写入数据库
    void insertMusicToDB();

private:
    void parseMediaMetaData();


private:
    QString musicName;//音乐名称
    QString singerName;//歌手
    QString albumName;//专辑
    qint64 duration;//持续时长

    bool isLike;//是否喜欢
    bool isHistory;//是否播放过

    QUrl musicUrl;//在磁盘中的位置
    QString musicId;//用来判断音乐的唯一性

};

#endif // MUSIC_H
